package com.nlp.visualization.core.seg;

public class EntityRecognizeOption {

    private boolean place = true;
    private boolean chinese = true;
    private boolean japanese = false;
    private boolean organization = false;
    private boolean translatedName = false;

    public boolean isPlace() {
        return place;
    }

    public void setPlace(boolean place) {
        this.place = place;
    }

    public boolean isChinese() {
        return chinese;
    }

    public void setChinese(boolean chinese) {
        this.chinese = chinese;
    }

    public boolean isJapanese() {
        return japanese;
    }

    public void setJapanese(boolean japanese) {
        this.japanese = japanese;
    }

    public boolean isOrganization() {
        return organization;
    }

    public void setOrganization(boolean organization) {
        this.organization = organization;
    }

    public boolean isTranslatedName() {
        return translatedName;
    }

    public void setTranslatedName(boolean translatedName) {
        this.translatedName = translatedName;
    }

    public EntityRecognizeOption() {
    }

    public static class EntityRecognizeBuilder {

        private EntityRecognizeOption segmentOption = new EntityRecognizeOption();

        public EntityRecognizeBuilder enablePlace(boolean flag) {
            segmentOption.setPlace(flag);
            return this;
        }

        public EntityRecognizeBuilder enableChinese(boolean flag) {
            segmentOption.setChinese(flag);
            return this;
        }

        public EntityRecognizeBuilder enableJapanese(boolean flag) {
            segmentOption.setJapanese(flag);
            return this;
        }

        public EntityRecognizeBuilder enableOrganization(boolean flag) {
            segmentOption.setOrganization(flag);
            return this;
        }

        public EntityRecognizeBuilder enableTranslateName(boolean flag) {
            segmentOption.setTranslatedName(flag);
            return this;
        }

        public EntityRecognizeOption build() {
            return segmentOption;
        }
    }
}
